AI in Finance Assignment 4¶

Yijia Zeng yzeng323@gatech.edu GTID: 903629003¶

Data Loading¶


Data Cleaning¶


  • Handling date variable
  • selectikng a sample of 10 firms per industry
This is the shape of my cleaned dataframe (29826, 20)

Regression Analysis¶


Descriptive Stats¶


--------------------------------------------------

This is the Statistics of beta12 for industry Agriculture
count       280.000000
mean          0.997420
std           1.808401
min         -13.626291
max           7.236467
skew         -2.111634
kurtosis     17.349735
1%           -5.470130
5%           -0.901640
25%           0.263338
50%           0.964077
75%           1.779277
95%           3.585183
99%           5.401228
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Agriculture
count       270.000000
mean          1.030200
std           1.174713
min          -6.279531
max           5.194328
skew         -0.495951
kurtosis      6.525735
1%           -2.229060
5%           -0.618886
25%           0.377387
50%           0.975599
75%           1.622419
95%           3.020738
99%           4.377542
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Agriculture
count       260.000000
mean          1.054347
std           1.118272
min          -6.279531
max           6.109715
skew         -0.260625
kurtosis      9.672404
1%           -1.445657
5%           -0.255853
25%           0.419113
50%           1.023529
75%           1.582194
95%           2.619045
99%           4.976245
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Mining
count       280.000000
mean          1.575120
std           2.662641
min          -7.421781
max          24.563040
skew          3.784703
kurtosis     29.026922
1%           -3.448998
5%           -0.969161
25%           0.352884
50%           1.255164
75%           2.466525
95%           4.712876
99%           8.785926
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Mining
count       270.000000
mean          1.623480
std           2.024372
min          -2.853700
max          24.563040
skew          5.875517
kurtosis     61.524379
1%           -1.336304
5%           -0.310671
25%           0.628868
50%           1.291622
75%           2.250437
95%           4.249271
99%           7.547480
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Mining
count       260.000000
mean          1.609095
std           1.926407
min          -2.853700
max          24.563040
skew          6.843378
kurtosis     77.927563
1%           -1.104722
5%           -0.175798
25%           0.720130
50%           1.388497
75%           2.165941
95%           3.622002
99%           6.328930
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Construction
count       279.000000
mean          1.420995
std           2.133107
min         -14.919079
max          16.389889
skew          0.009858
kurtosis     21.740848
1%           -3.333170
5%           -1.065246
25%           0.420196
50%           1.438807
75%           2.221275
95%           3.677497
99%           8.212191
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Construction
count       269.000000
mean          1.423620
std           1.331493
min          -2.127100
max          13.323400
skew          2.806438
kurtosis     23.828791
1%           -1.626752
5%           -0.224107
25%           0.786873
50%           1.343329
75%           2.014048
95%           3.146081
99%           4.968525
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Construction
count       259.000000
mean          1.358016
std           1.016633
min          -2.127100
max           6.084580
skew          0.840437
kurtosis      3.997380
1%           -0.866198
5%           -0.068309
25%           0.763660
50%           1.353079
75%           1.788243
95%           2.715604
99%           4.974648
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Manufacturing
count       280.000000
mean          0.530053
std          11.023330
min        -181.331126
max           6.479868
skew        -16.207748
kurtosis    268.267433
1%           -4.708531
5%           -0.883197
25%           0.391633
50%           1.104279
75%           1.967783
95%           4.159367
99%           5.310742
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Manufacturing
count       270.000000
mean          0.630523
std          11.182594
min        -181.331126
max           8.058061
skew        -16.131658
kurtosis    263.459987
1%           -2.006415
5%           -0.076911
25%           0.558165
50%           1.117990
75%           1.771339
95%           3.332186
99%           5.196892
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Manufacturing
count       260.000000
mean          0.659723
std          11.375989
min        -181.331126
max           6.044516
skew        -15.927952
kurtosis    255.788821
1%           -0.199672
5%            0.085279
25%           0.713801
50%           1.186822
75%           1.836695
95%           3.088104
99%           4.901771
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Transportation
count       276.000000
mean          1.299124
std           4.563964
min          -4.371247
max          72.214052
skew         13.798919
kurtosis    213.743342
1%           -2.048209
5%           -0.561321
25%           0.190096
50%           0.811515
75%           1.526750
95%           3.948618
99%           7.783643
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Transportation
count       266.000000
mean          1.019662
std           1.300148
min          -6.973444
max           7.706501
skew          0.360742
kurtosis     10.386395
1%           -1.317232
5%           -0.229714
25%           0.360565
50%           0.803103
75%           1.502688
95%           3.033214
99%           5.307444
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Transportation
count       256.000000
mean          0.954603
std           1.124333
min          -4.965150
max           6.773695
skew          0.261177
kurtosis      8.198299
1%           -1.774840
5%           -0.163114
25%           0.367078
50%           0.816156
75%           1.441328
95%           2.692101
99%           4.304936
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Wholesale
count       279.000000
mean          1.238500
std           2.208291
min         -17.534871
max          12.175071
skew         -1.040178
kurtosis     23.542948
1%           -4.193619
5%           -1.022063
25%           0.452779
50%           1.042579
75%           1.967255
95%           4.052771
99%           9.368517
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Wholesale
count       269.000000
mean          1.192170
std           1.616088
min         -17.534871
max           7.830801
skew         -5.419872
kurtosis     68.018383
1%           -1.983844
5%           -0.388944
25%           0.643688
50%           1.113095
75%           1.853168
95%           2.897620
99%           4.321993
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Wholesale
count       259.000000
mean          1.232957
std           0.914977
min          -2.445744
max           4.863640
skew          0.048060
kurtosis      2.071759
1%           -1.196874
5%           -0.127725
25%           0.674668
50%           1.189590
75%           1.712616
95%           2.765729
99%           3.573589
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Retail
count       280.000000
mean          1.569291
std           6.154309
min          -7.703884
max          98.999559
skew         14.388278
kurtosis    227.209348
1%           -3.075335
5%           -0.724909
25%           0.380947
50%           1.108506
75%           1.794577
95%           3.222091
99%          11.016428
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Retail
count       270.000000
mean          1.175037
std           1.090978
min          -1.741767
max          10.320110
skew          2.573241
kurtosis     18.891360
1%           -0.965303
5%           -0.208526
25%           0.582244
50%           1.122946
75%           1.628941
95%           2.652455
99%           4.605123
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Retail
count       260.000000
mean          1.230422
std           1.032380
min          -1.274813
max           9.212236
skew          2.542861
kurtosis     14.806514
1%           -0.459765
5%            0.029991
25%           0.628997
50%           1.091230
75%           1.616721
95%           2.857873
99%           4.885657
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Finance
count       279.000000
mean          0.820320
std           1.659205
min          -8.149152
max          18.772201
skew          4.105713
kurtosis     52.282667
1%           -1.728019
5%           -0.500145
25%           0.062729
50%           0.588996
75%           1.321052
95%           2.995295
99%           4.690196
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Finance
count       269.000000
mean          0.728181
std           0.909385
min          -5.590418
max           4.528124
skew         -0.840829
kurtosis      9.724247
1%           -0.841327
5%           -0.410526
25%           0.178024
50%           0.664427
75%           1.189339
95%           2.215998
99%           2.746929
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Finance
count       259.000000
mean          0.742345
std           0.849339
min          -5.590418
max           4.528124
skew         -0.971805
kurtosis     12.688149
1%           -0.844196
5%           -0.191261
25%           0.264718
50%           0.651131
75%           1.162654
95%           2.161019
99%           2.690817
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Service
count       277.000000
mean          1.049854
std           2.339885
min         -13.769049
max           9.067857
skew         -1.627683
kurtosis     10.424422
1%           -7.159674
5%           -1.641136
25%           0.112553
50%           1.195505
75%           2.072010
95%           3.925350
99%           6.908727
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Service
count       267.000000
mean          1.380076
std           1.907620
min         -13.769049
max          10.663611
skew         -1.204687
kurtosis     19.145424
1%           -3.013172
5%           -0.431400
25%           0.570809
50%           1.249907
75%           1.945961
95%           4.012641
99%           7.622209
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Service
count       257.000000
mean          1.388460
std           1.770587
min         -13.769049
max           9.067857
skew         -2.029190
kurtosis     24.426290
1%           -2.632256
5%           -0.165257
25%           0.691525
50%           1.282689
75%           1.905594
95%           3.856325
99%           6.221149
Name: beta36, dtype: float64
--------------------------------------------------

This is the Statistics of beta12 for industry Public
count       225.000000
mean          0.362579
std          18.022730
min        -261.110642
max          43.787097
skew        -13.664995
kurtosis    200.306627
1%           -7.347083
5%           -2.178471
25%           0.029771
50%           0.963463
75%           2.156740
95%           5.519397
99%          13.701384
Name: beta12, dtype: float64
--------------------------------------------------

This is the Statistics of beta24 for industry Public
count       215.000000
mean          0.161167
std          18.252433
min        -261.110642
max          43.787097
skew        -13.768051
kurtosis    198.884160
1%           -4.420043
5%           -0.988224
25%           0.105809
50%           0.925763
75%           1.946109
95%           4.340273
99%           8.048900
Name: beta24, dtype: float64
--------------------------------------------------

This is the Statistics of beta36 for industry Public
count       205.000000
mean          0.122245
std          18.732942
min        -261.110642
max          43.787097
skew        -13.364330
kurtosis    188.022744
1%          -12.439006
5%           -0.490747
25%           0.228629
50%           0.961437
75%           2.005900
95%           4.237056
99%           8.207925
Name: beta36, dtype: float64

Std & Mean & Time Series Graph¶


Beta Graph Findings¶


  • Betas measured using 12 months of data are more volatile than the betas measured using 24 months and 36 months of data, and they often have more abnormal behaviors of dropping below 0, indicating given industry move in opposite direction of the market. Therefore, the beta measured using 12 months of data might not be that accurate and trustworthy to represent the volatility of given stocks.

  • Betas measured using 36 months of data are much more stable than the remaining two with siginicant lower standard deviation overall. Most of betas using 36 months of data are located around 1, showing given industries move in the same direction as the market.

  • There are betas located above 1 (mostly beta12), showing that most of the industries are more volatile than the market

  • Most of the betas are located around 1, showing the overall stock of the indutries are moving with the market

  • There are a few betas (mainly beta measured by 12 months of data) that are lower than 0, reflecting the uncommon event that the stock of the given industry move in opposite direction of the market.

  • Only considering beta36, Wholesale, Agriculture, Retail, and Finance industries seems to have a more stable beta, while the beta for Service and Public are more fluctuating with more extreme values.

Volatility Estimation¶


Volatility Observation & Analysis¶


  • According to the volatility graphs, it seems that the systematic volatility contribute less to the total volatility than the idiosyncratic volatility. This reflects the nature of idiosyncratic volatility (Stock-specific risk) being more prominent in periods of market stability or when portfolios consist of stocks with significant stock-specific risks. Systematic volatility (market risk), by contrast, impacts all stocks similarly, and its contribution can appear smaller, especially when the market is stable or when diversification reduces its impact on your portfolio.

  • All curve of volatilities follows roughly the same shape. Changes in either type of volatility affect the total volatility, causing all three to move in a similar pattern. Additionally, both types of volatility are influenced by market conditions, and during periods of heightened uncertainty, both systematic and idiosyncratic risks tend to rise together, leading to similar shapes in their respective graphs.

  • Individual dots represent single stocks' behavior. According to the graph Finance, Retail, and Constructions industries have more extreme volatilities. Remaining industries' volatility are more clustered together.

  • There is a noticable amount of systematic volitility that are below 0, which is due to our method of calculation and the negativity of beta values. Therefore, there are far less volatility below 0 using beta36, due to its stable nature.

Beta, Volatility and Stock Returns¶


Beta Portfolio¶


Average return rate for high beta equal portfolio constructed by beta12 is 0.24620297987573744
Average return rate for high beta equal portfolio constructed by beta24 is 0.23353396015121697
Average return rate for high beta equal portfolio constructed by beta36 is 0.2560207106718412
Average return rate for high beta weighted portfolio constructed by beta12 is 0.11784574825222728
Average return rate for high beta weighted portfolio constructed by beta24 is 0.22034304796757534
Average return rate for high beta weighted portfolio constructed by beta36 is 0.2438405201316527

Idiosymcratic Portfolio¶


Average return rate for high ivol weighted portfolio constructed by beta12 is 0.38546682524194414
Average return rate for high ivol weighted portfolio constructed by beta24 is 0.35080778354534675
Average return rate for high ivol weighted portfolio constructed by beta36 is 0.3818689199053598
Average return rate for high ivol weighted portfolio constructed by beta12 is 0.450893966891675
Average return rate for high ivol weighted portfolio constructed by beta24 is 0.43440270841142986
Average return rate for high ivol weighted portfolio constructed by beta36 is 0.4767505103075588

Discussion & Conclusion¶


Portfolio Construction Using Beta¶


  • Based on the result of our beta portfolio, it seems that the equal-weighted beta portfolio performs slightly better than the value-weighted beta portfolio with more consistenly higher average of portfolio return. The equal-weighted beta portfolio likely performs better than the value-weighted beta portfolio because it gives more importance to smaller companies, which tend to grow faster and provide higher returns. On the other hand, the value-weighted portfolio focuses more on larger companies, which are more stable but may not grow as quickly. This makes the equal-weighted portfolio deliver more consistent and slightly better average returns overall.

  • The portfolio constructed by beta using 36 months of data performs slightly better than the remaining betas for portfolio constructions. However, since we only sampled once, this is not a convincing evidence that beta36 performs better than the remaining.

  • Though portfolio with higher beta seems to have a higher and more stable portfolio return based on our result, this result is highly influenced by the extreme event in 2009. From the graphs, we can see the return difference is fluctuating around 0, and even the portfolio with stocks having low beta will have a better performance in about half of the time. This is the same for both value-weighted and equal-weighted portfolio. This is consistent with real-world behavior, especially considering the low-beta anomaly and potential overpricing of high-beta stocks. This reflects the idea that high-beta stocks, while riskier, do not always offer better returns, and low-beta stocks can perform better, particularly in volatile or uncertain market conditions. For low-beta portfolios, while traditionally expected to deliver lower returns due to lower risk, low-beta stocks often provide a smoother ride and may outperform in volatile or declining markets, offering solid returns with less risk.

Portfolio Construction Using idiosyncratic volatility¶


  • The average portfolio return for portfolio constructed by stocks with higher idiosyncratic volatility is positive. Moreover, it seems that the portfolio with higher idiosyncratic volatility performs better than the portfolio with lower idiosyncratic volatility for both value-weighted and equal weighted portfolio, which might be highly influenced by extreme event in 2009. Overall, this suggests that investors may be rewarded for taking on additional stock-specific risk.

  • The value-weighted portfolio has a better average portfolio return than the equal-weighted portfolio. The better average portfolio return of the value-weighted portfolio in high idiosyncratic volatility portfolios is likely driven by the larger, more stable companies having more influence in the value-weighted structure. These firms can withstand stock-specific volatility better than smaller, riskier stocks that dominate the equal-weighted portfolio, leading to superior performance.

Comparison & Conclusin¶


  • The higher average return for all portfolio is likely due to a spike in 2009 which has a really high return compared with the stock return in low beta and low volitility portfolio.

  • For this trial, portfolio constructed by stocks having higher idiosyncratic volatility on average having a higher portfolio return than the portfolio constructed by stocks having high beta. This is because stock-specific risks were more rewarded than market-wide risks. High-beta stocks’ sensitivity to market conditions may have hindered their performance, especially if the market environment was volatile or underperforming.

  • Value-weighted portfolio overall performs better than equal weighted portfolio.